[INFO] fetching crate sec-http3 0.1.2...
[INFO] fixing sec-http3-0.1.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate sec-http3 0.1.2 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate sec-http3 0.1.2
[INFO] finished tweaking crates.io crate sec-http3 0.1.2
[INFO] tweaked toml for crates.io crate sec-http3 0.1.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sec-http3 0.1.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 143 packages to latest compatible versions
[INFO] [stderr]       Adding fastrand v1.9.0 (available: v2.4.1)
[INFO] [stderr]       Adding http v0.2.12 (available: v1.4.2)
[INFO] [stderr]       Adding quinn v0.10.2 (available: v0.11.11)
[INFO] [stderr]       Adding quinn-proto v0.10.6 (available: v0.11.15)
[INFO] [stderr]       Adding rcgen v0.10.0 (available: v0.14.8)
[INFO] [stderr]       Adding rustls v0.21.12 (available: v0.23.41)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pin-project-lite` dependency)
[INFO] [stderr] warning: `sec-http3` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93
[INFO] running `Command { std: "docker" "start" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   rustls v0.21.12 removed features: default, log, logging, tls12
[INFO] [stderr]   syn v2.0.118 (as host dependency) removed features: visit
[INFO] [stderr]   tokio v1.52.3 removed features: bytes, io-std, io-util, macros, tokio-macros, windows-sys
[INFO] [stderr]   tracing-core v0.1.36 removed features: default
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.52.3 removed features: windows-sys
[INFO] [stderr] 
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pin-project-lite` dependency)
[INFO] [stderr] warning: `sec-http3` (manifest) generated 1 warning
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking quinn-udp v0.4.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking rcgen v0.10.0
[INFO] [stderr]     Checking quinn-proto v0.10.6
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking quinn v0.10.2
[INFO] [stderr]     Checking sec-http3 v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/examples_server_client.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.79s
[INFO] [stderr] crater-edition-check: sec-http3 v0.1.2 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pin-project-lite` dependency)
[INFO] [stderr] warning: `sec-http3` (manifest) generated 1 warning
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking quinn-udp v0.4.1
[INFO] [stderr]     Checking quinn-proto v0.10.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking quinn v0.10.2
[INFO] [stderr]     Checking sec-http3 v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Decoder`, `Encoder`, `ack_header`, `dynamic::Error as DynamicTableError`, and `stream_canceled`
[INFO] [stdout]  --> src/qpack/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         ack_header, decode_stateless, stream_canceled, Decoded, Decoder, Error as DecoderError,
[INFO] [stdout]   |         ^^^^^^^^^^                    ^^^^^^^^^^^^^^^           ^^^^^^^
[INFO] [stdout] 4 |     },
[INFO] [stdout] 5 |     dynamic::Error as DynamicTableError,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     encoder::{encode_stateless, Encoder, Error as EncoderError},
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodeIter`
[INFO] [stdout]   --> src/qpack/prefix_string/mod.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     decode::{DecodeIter, Error as HuffmanDecodingError, HpackStringDecode},
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ack_header`, `dynamic::Error as DynamicTableError`, and `stream_canceled`
[INFO] [stdout]  --> src/qpack/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         ack_header, decode_stateless, stream_canceled, Decoded, Decoder, Error as DecoderError,
[INFO] [stdout]   |         ^^^^^^^^^^                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     },
[INFO] [stdout] 5 |     dynamic::Error as DynamicTableError,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodeIter`
[INFO] [stdout]   --> src/qpack/prefix_string/mod.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     decode::{DecodeIter, Error as HuffmanDecodingError, HpackStringDecode},
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/stream.rs:253:10
[INFO] [stdout]     |
[INFO] [stdout] 253 |     Push(u64, FrameStream<S, B>),
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 253 -     Push(u64, FrameStream<S, B>),
[INFO] [stdout] 253 +     Push((), FrameStream<S, B>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/server.rs:492:26
[INFO] [stdout]     |
[INFO] [stdout] 492 |     pub fn read_datagram(&mut self) -> ReadDatagram<C, B> {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 492 |     pub fn read_datagram(&mut self) -> ReadDatagram<'_, C, B> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn accept_datagram(&self) -> ReadDatagram<C, B> {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn accept_datagram(&self) -> ReadDatagram<'_, C, B> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn accept_uni(&self) -> AcceptUni<C, B> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn accept_uni(&self) -> AcceptUni<'_, C, B> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:225:20
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn open_bi(&self, session_id: SessionId) -> OpenBi<C, B> {
[INFO] [stdout]     |                    ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn open_bi(&self, session_id: SessionId) -> OpenBi<'_, C, B> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn open_uni(&self, session_id: SessionId) -> OpenUni<C, B> {
[INFO] [stdout]     |                     ^^^^^                            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn open_uni(&self, session_id: SessionId) -> OpenUni<'_, C, B> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buf.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn cursor(&self) -> Cursor<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn cursor(&self) -> Cursor<'_, T> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connection.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn read(&self, panic_msg: &'static str) -> RwLockReadGuard<SharedState> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn read(&self, panic_msg: &'static str) -> RwLockReadGuard<'_, SharedState> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connection.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn write(&self, panic_msg: &'static str) -> RwLockWriteGuard<SharedState> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn write(&self, panic_msg: &'static str) -> RwLockWriteGuard<'_, SharedState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/dynamic.rs:261:20
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn decoder(&self, base: usize) -> DynamicTableDecoder {
[INFO] [stdout]     |                    ^^^^^                  ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn decoder(&self, base: usize) -> DynamicTableDecoder<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/dynamic.rs:265:20
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn encoder(&mut self, stream_id: u64) -> DynamicTableEncoder {
[INFO] [stdout]     |                    ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn encoder(&mut self, stream_id: u64) -> DynamicTableEncoder<'_> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/prefix_string/decode.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn hpack_decode(&self) -> DecodeIter;
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn hpack_decode(&self) -> DecodeIter<'_>;
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/prefix_string/decode.rs:319:21
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn hpack_decode(&self) -> DecodeIter {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn hpack_decode(&self) -> DecodeIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/stream.rs:253:10
[INFO] [stdout]     |
[INFO] [stdout] 253 |     Push(u64, FrameStream<S, B>),
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 253 -     Push(u64, FrameStream<S, B>),
[INFO] [stdout] 253 +     Push((), FrameStream<S, B>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/server.rs:492:26
[INFO] [stdout]     |
[INFO] [stdout] 492 |     pub fn read_datagram(&mut self) -> ReadDatagram<C, B> {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 492 |     pub fn read_datagram(&mut self) -> ReadDatagram<'_, C, B> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn accept_datagram(&self) -> ReadDatagram<C, B> {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn accept_datagram(&self) -> ReadDatagram<'_, C, B> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn accept_uni(&self) -> AcceptUni<C, B> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn accept_uni(&self) -> AcceptUni<'_, C, B> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:225:20
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn open_bi(&self, session_id: SessionId) -> OpenBi<C, B> {
[INFO] [stdout]     |                    ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn open_bi(&self, session_id: SessionId) -> OpenBi<'_, C, B> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/webtransport/server.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn open_uni(&self, session_id: SessionId) -> OpenUni<C, B> {
[INFO] [stdout]     |                     ^^^^^                            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn open_uni(&self, session_id: SessionId) -> OpenUni<'_, C, B> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buf.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn cursor(&self) -> Cursor<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn cursor(&self) -> Cursor<'_, T> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connection.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn read(&self, panic_msg: &'static str) -> RwLockReadGuard<SharedState> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn read(&self, panic_msg: &'static str) -> RwLockReadGuard<'_, SharedState> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connection.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn write(&self, panic_msg: &'static str) -> RwLockWriteGuard<SharedState> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn write(&self, panic_msg: &'static str) -> RwLockWriteGuard<'_, SharedState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/dynamic.rs:261:20
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn decoder(&self, base: usize) -> DynamicTableDecoder {
[INFO] [stdout]     |                    ^^^^^                  ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn decoder(&self, base: usize) -> DynamicTableDecoder<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/dynamic.rs:265:20
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn encoder(&mut self, stream_id: u64) -> DynamicTableEncoder {
[INFO] [stdout]     |                    ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn encoder(&mut self, stream_id: u64) -> DynamicTableEncoder<'_> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/prefix_string/decode.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn hpack_decode(&self) -> DecodeIter;
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn hpack_decode(&self) -> DecodeIter<'_>;
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qpack/prefix_string/decode.rs:319:21
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn hpack_decode(&self) -> DecodeIter {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn hpack_decode(&self) -> DecodeIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.07s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   rustls v0.21.12 removed features: default, log, logging, tls12
[INFO] [stderr]   syn v2.0.118 (as host dependency) removed features: visit
[INFO] [stderr]   tokio v1.52.3 removed features: bytes, io-std, io-util, macros, tokio-macros, windows-sys
[INFO] [stderr]   tracing-core v0.1.36 removed features: default
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.52.3 removed features: windows-sys
[INFO] [stderr] 
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pin-project-lite` dependency)
[INFO] [stderr] warning: `sec-http3` (manifest) generated 1 warning
[INFO] [stderr]     Checking sec-http3 v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/frame.rs (1 fix)
[INFO] [stderr]        Fixed src/proto/frame.rs (2 fixes)
[INFO] [stderr]        Fixed src/proto/stream.rs (1 fix)
[INFO] [stderr]        Fixed src/qpack/static_.rs (2 fixes)
[INFO] [stderr]        Fixed src/qpack/prefix_string/encode.rs (2 fixes)
[INFO] [stderr]        Fixed src/connection.rs (3 fixes)
[INFO] [stderr]        Fixed src/stream.rs (1 fix)
[INFO] [stderr]        Fixed src/proto/headers.rs (1 fix)
[INFO] [stderr]        Fixed src/client.rs (1 fix)
[INFO] [stderr]        Fixed src/qpack/prefix_string/decode.rs (9 fixes)
[INFO] [stderr]        Fixed src/server.rs (1 fix)
[INFO] [stderr]        Fixed src/error.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:523:84
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let open = quic.opener();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `open` calls a custom destructor
[INFO] [stdout]     |             `open` will be dropped later as of Edition 2024
[INFO] [stdout] 517 |         let conn_state = SharedStateRef::default();
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn_state` calls a custom destructor
[INFO] [stdout]     |             `conn_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 523 |                 inner: ConnectionInner::new(quic, conn_state.clone(), self.config).await?,
[INFO] [stdout]     |                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `conn_state` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:621:87
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (sender, receiver) = mpsc::unbounded_channel();
[INFO] [stdout]     |              ------  --------
[INFO] [stdout]     |              |       |
[INFO] [stdout]     |              |       `receiver` calls a custom destructor
[INFO] [stdout]     |              |       `receiver` will be dropped later as of Edition 2024
[INFO] [stdout]     |              `sender` calls a custom destructor
[INFO] [stdout]     |              `sender` will be dropped later as of Edition 2024
[INFO] [stdout] 620 |         Ok(Connection {
[INFO] [stdout] 621 |             inner: ConnectionInner::new(conn, SharedStateRef::default(), self.config).await?,
[INFO] [stdout]     |                                                                                       ^^^^^
[INFO] [stdout]     |                                                                                       |
[INFO] [stdout]     |                                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:487:1
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:378:41
[INFO] [stdout]     |
[INFO] [stdout] 378 |         while let Poll::Ready(result) = self.inner.poll_control(cx) {
[INFO] [stdout]     |                               ------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               |         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `result` calls a custom destructor
[INFO] [stdout]     |                               `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 413 |                     self.inner.process_goaway(&mut self.recv_closing, id)?;
[INFO] [stdout]     |                     ------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 426 |                 Ok(frame) => {
[INFO] [stdout]     |                    -----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `frame` calls a custom destructor
[INFO] [stdout]     |                    `frame` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] 433 |                     let connection_error = self.inner.shared.read("poll_close").error.clone();
[INFO] [stdout]     |                         ----------------   ------------------------------------
[INFO] [stdout]     |                         |                  |
[INFO] [stdout]     |                         |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `connection_error` calls a custom destructor
[INFO] [stdout]     |                         `connection_error` will be dropped later as of Edition 2024
[INFO] [stdout] 434 |                     let connection_error = match connection_error {
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |                             self.inner.shared.write("poll_close error").error = Some(e.clone());
[INFO] [stdout]     |                             -------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 447 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `frame` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `connection_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/webtransport/server.rs:378:22
[INFO] [stdout]     |
[INFO] [stdout] 377 |         let mut conn = self.conn.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 378 |         match ready!(conn.inner.conn.poll_accept_datagram(cx))? {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/webtransport/server.rs:378:15
[INFO] [stdout]     |
[INFO] [stdout] 377 |         let mut conn = self.conn.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 378 |         match ready!(conn.inner.conn.poll_accept_datagram(cx))? {
[INFO] [stdout]     |               ^^^^^^^----------------------------------------^^
[INFO] [stdout]     |               |      |
[INFO] [stdout]     |               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/connection.rs:373:42
[INFO] [stdout]     |
[INFO] [stdout] 354 |               let stream = self
[INFO] [stdout]     |  _________________------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `stream` calls a custom destructor
[INFO] [stdout]     | |                 `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 355 | |                 .pending_recv_streams
[INFO] [stdout] 356 | |                 .remove(index - removed)
[INFO] [stdout] 357 | |                 .into_stream()?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                       if let Some(_prev) = self.encoder_recv.replace(enc) {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `_prev` calls a custom destructor
[INFO] [stdout]     |                                   `_prev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 378 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_prev` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/connection.rs:380:42
[INFO] [stdout]     |
[INFO] [stdout] 354 |               let stream = self
[INFO] [stdout]     |  _________________------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `stream` calls a custom destructor
[INFO] [stdout]     | |                 `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 355 | |                 .pending_recv_streams
[INFO] [stdout] 356 | |                 .remove(index - removed)
[INFO] [stdout] 357 | |                 .into_stream()?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                       if let Some(_prev) = self.decoder_recv.replace(dec) {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `_prev` calls a custom destructor
[INFO] [stdout]     |                                   `_prev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 385 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_prev` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/proto/headers.rs:192:35
[INFO] [stdout]     |
[INFO] [stdout] 188 |         for (new_header_name, header_value) in self.fields.by_ref() {
[INFO] [stdout]     |              ---------------                   --------------------
[INFO] [stdout]     |              |                                 |
[INFO] [stdout]     |              |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |              `new_header_name` calls a custom destructor
[INFO] [stdout]     |              `new_header_name` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 192 |             if let (Some(n), v) = (&self.last_header_name, header_value) {
[INFO] [stdout]     |                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |    |
[INFO] [stdout]     |                              |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `v` calls a custom destructor
[INFO] [stdout]     |                              `v` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 195 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/examples_server_client.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/qpack/prefix_string/encode.rs (2 fixes)
[INFO] [stderr]        Fixed src/tests/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/tests/connection.rs (1 fix)
[INFO] [stderr]        Fixed src/frame.rs (3 fixes)
[INFO] [stderr]        Fixed src/qpack/prefix_string/decode.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:523:84
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let open = quic.opener();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `open` calls a custom destructor
[INFO] [stdout]     |             `open` will be dropped later as of Edition 2024
[INFO] [stdout] 517 |         let conn_state = SharedStateRef::default();
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn_state` calls a custom destructor
[INFO] [stdout]     |             `conn_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 523 |                 inner: ConnectionInner::new(quic, conn_state.clone(), self.config).await?,
[INFO] [stdout]     |                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `conn_state` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/server.rs:621:87
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (sender, receiver) = mpsc::unbounded_channel();
[INFO] [stdout]     |              ------  --------
[INFO] [stdout]     |              |       |
[INFO] [stdout]     |              |       `receiver` calls a custom destructor
[INFO] [stdout]     |              |       `receiver` will be dropped later as of Edition 2024
[INFO] [stdout]     |              `sender` calls a custom destructor
[INFO] [stdout]     |              `sender` will be dropped later as of Edition 2024
[INFO] [stdout] 620 |         Ok(Connection {
[INFO] [stdout] 621 |             inner: ConnectionInner::new(conn, SharedStateRef::default(), self.config).await?,
[INFO] [stdout]     |                                                                                       ^^^^^
[INFO] [stdout]     |                                                                                       |
[INFO] [stdout]     |                                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:487:1
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests/connection.rs:700:36
[INFO] [stdout]     |
[INFO] [stdout] 696 |     let mut request_stream = send_request
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `request_stream` calls a custom destructor
[INFO] [stdout]     |         `request_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |     request_stream.recv_response().await
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 701 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `request_stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request_stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tests/mod.rs:110:14
[INFO] [stdout]      |
[INFO] [stdout]  104 |         let mut client_endpoint =
[INFO] [stdout]      |             -------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `client_endpoint` calls a custom destructor
[INFO] [stdout]      |             `client_endpoint` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  110 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  111 |             .unwrap()
[INFO] [stdout]  112 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:1245:1
[INFO] [stdout]      |
[INFO] [stdout] 1245 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/oneshot.rs:1245:1
[INFO] [stdout]      |
[INFO] [stdout] 1245 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/connection.rs:790:1
[INFO] [stdout]      |
[INFO] [stdout]  790 | impl Drop for ConnectionRef {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `client_endpoint` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client_endpoint` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/endpoint.rs:727:1
[INFO] [stdout]      |
[INFO] [stdout]  727 | impl Drop for EndpointRef {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:378:41
[INFO] [stdout]     |
[INFO] [stdout] 378 |         while let Poll::Ready(result) = self.inner.poll_control(cx) {
[INFO] [stdout]     |                               ------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               |         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `result` calls a custom destructor
[INFO] [stdout]     |                               `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 413 |                     self.inner.process_goaway(&mut self.recv_closing, id)?;
[INFO] [stdout]     |                     ------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 426 |                 Ok(frame) => {
[INFO] [stdout]     |                    -----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `frame` calls a custom destructor
[INFO] [stdout]     |                    `frame` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] 433 |                     let connection_error = self.inner.shared.read("poll_close").error.clone();
[INFO] [stdout]     |                         ----------------   ------------------------------------
[INFO] [stdout]     |                         |                  |
[INFO] [stdout]     |                         |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `connection_error` calls a custom destructor
[INFO] [stdout]     |                         `connection_error` will be dropped later as of Edition 2024
[INFO] [stdout] 434 |                     let connection_error = match connection_error {
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |                             self.inner.shared.write("poll_close error").error = Some(e.clone());
[INFO] [stdout]     |                             -------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 447 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `frame` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `connection_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/webtransport/server.rs:378:22
[INFO] [stdout]     |
[INFO] [stdout] 377 |         let mut conn = self.conn.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 378 |         match ready!(conn.inner.conn.poll_accept_datagram(cx))? {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/webtransport/server.rs:378:15
[INFO] [stdout]     |
[INFO] [stdout] 377 |         let mut conn = self.conn.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 378 |         match ready!(conn.inner.conn.poll_accept_datagram(cx))? {
[INFO] [stdout]     |               ^^^^^^^----------------------------------------^^
[INFO] [stdout]     |               |      |
[INFO] [stdout]     |               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/connection.rs:373:42
[INFO] [stdout]     |
[INFO] [stdout] 354 |               let stream = self
[INFO] [stdout]     |  _________________------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `stream` calls a custom destructor
[INFO] [stdout]     | |                 `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 355 | |                 .pending_recv_streams
[INFO] [stdout] 356 | |                 .remove(index - removed)
[INFO] [stdout] 357 | |                 .into_stream()?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                       if let Some(_prev) = self.encoder_recv.replace(enc) {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `_prev` calls a custom destructor
[INFO] [stdout]     |                                   `_prev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 378 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_prev` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/connection.rs:380:42
[INFO] [stdout]     |
[INFO] [stdout] 354 |               let stream = self
[INFO] [stdout]     |  _________________------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `stream` calls a custom destructor
[INFO] [stdout]     | |                 `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 355 | |                 .pending_recv_streams
[INFO] [stdout] 356 | |                 .remove(index - removed)
[INFO] [stdout] 357 | |                 .into_stream()?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                       if let Some(_prev) = self.decoder_recv.replace(dec) {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `_prev` calls a custom destructor
[INFO] [stdout]     |                                   `_prev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 385 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_prev` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/proto/headers.rs:192:35
[INFO] [stdout]     |
[INFO] [stdout] 188 |         for (new_header_name, header_value) in self.fields.by_ref() {
[INFO] [stdout]     |              ---------------                   --------------------
[INFO] [stdout]     |              |                                 |
[INFO] [stdout]     |              |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |              `new_header_name` calls a custom destructor
[INFO] [stdout]     |              `new_header_name` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 192 |             if let (Some(n), v) = (&self.last_header_name, header_value) {
[INFO] [stdout]     |                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |    |
[INFO] [stdout]     |                              |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `v` calls a custom destructor
[INFO] [stdout]     |                              `v` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 195 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests/connection.rs:172:27
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut incoming = server::builder()
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `incoming` calls a custom destructor
[INFO] [stdout]     |             `incoming` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |         incoming.accept().await.unwrap()
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 173 |     };
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `incoming` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:500:1
[INFO] [stdout]     |
[INFO] [stdout] 500 | / impl<C, B> Drop for Connection<C, B>
[INFO] [stdout] 501 | | where
[INFO] [stdout] 502 | |     C: quic::Connection<B>,
[INFO] [stdout] 503 | |     B: Buf,
[INFO] [stdout]     | |___________^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tests/connection.rs:259:19
[INFO] [stdout]      |
[INFO] [stdout]  259 |             match send.write(b"I'm not really a server").await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                      |
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  267 |                 Ok(_) => tokio::time::sleep(Duration::from_millis(1)).await,
[INFO] [stdout]      |                          --------------------------------------------------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  268 |             }
[INFO] [stdout]  269 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tests/connection.rs:482:13
[INFO] [stdout]      |
[INFO] [stdout]  470 |             let mut control_stream = connection.open_uni().await.unwrap();
[INFO] [stdout]      |                 ------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `control_stream` calls a custom destructor
[INFO] [stdout]      |                 `control_stream` will be dropped later as of Edition 2024
[INFO] [stdout]  471 |
[INFO] [stdout]  472 |             let mut buf = BytesMut::new();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `buf` calls a custom destructor
[INFO] [stdout]      |                 `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  477 |             let (mut driver, _send) = client::new(sec_http3_quinn::Connection::new(connection))
[INFO] [stdout]      |                  ----------  -----
[INFO] [stdout]      |                  |           |
[INFO] [stdout]      |                  |           `_send` calls a custom destructor
[INFO] [stdout]      |                  |           `_send` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `driver` calls a custom destructor
[INFO] [stdout]      |                  `driver` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  482 | / /             future::poll_fn(|cx| driver.poll_close(cx))
[INFO] [stdout]  483 | | |                 .await
[INFO] [stdout]  484 | | |                 .unwrap_err()
[INFO] [stdout]      | | |                             -
[INFO] [stdout]      | | |                             |
[INFO] [stdout]      | | |_____________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  485 | |                   .kind(),
[INFO] [stdout]      | |                         ^
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |_________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  492 |         };
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `control_stream` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/send_stream.rs:263:1
[INFO] [stdout]      |
[INFO] [stdout]  263 | impl Drop for SendStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes_mut.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `driver` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `driver` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/recv_stream.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for RecvStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `driver` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `driver` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/send_stream.rs:263:1
[INFO] [stdout]      |
[INFO] [stdout]  263 | impl Drop for SendStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `driver` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.10.2/src/connection.rs:790:1
[INFO] [stdout]      |
[INFO] [stdout]  790 | impl Drop for ConnectionRef {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_send` invokes this custom destructor
[INFO] [stdout]     --> src/client.rs:246:1
[INFO] [stdout]      |
[INFO] [stdout]  246 | / impl<T, B> Drop for SendRequest<T, B>
[INFO] [stdout]  247 | | where
[INFO] [stdout]  248 | |     T: quic::OpenStreams<B>,
[INFO] [stdout]  249 | |     B: Buf,
[INFO] [stdout]      | |___________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests/connection.rs:605:43
[INFO] [stdout]     |
[INFO] [stdout] 605 |         while let Ok(Some((_, stream))) = incoming.accept().await {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                           |                 |
[INFO] [stdout]     |                                           |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                           |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 606 |             response(stream).await;
[INFO] [stdout]     |             ----------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 607 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl Drop for RequestEnd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl Drop for RequestEnd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests/connection.rs:645:43
[INFO] [stdout]     |
[INFO] [stdout] 645 |         while let Ok(Some((_, stream))) = incoming.accept().await {
[INFO] [stdout]     |                               ------      ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |           |                 |
[INFO] [stdout]     |                               |           |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               |           |                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |           |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |           |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               |           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               |           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               `stream` calls a custom destructor
[INFO] [stdout]     |                               `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 648 |                 incoming.shutdown(2).await.unwrap();
[INFO] [stdout]     |                 --------------------------
[INFO] [stdout]     |                 |                    |
[INFO] [stdout]     |                 |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 651 |             response(stream).await;
[INFO] [stdout]     |             ----------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 652 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl Drop for RequestEnd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl Drop for RequestEnd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> src/server.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl Drop for RequestEnd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.55s
[INFO] [stderr] crater-edition-check: sec-http3 v0.1.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] error: failed to parse manifest at `/opt/rustwide/workdir/Cargo.toml`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   `default_features` is unsupported as of the 2024 edition; instead use `default-features`
[INFO] [stderr]   (in the `pin-project-lite` dependency)
[INFO] running `Command { std: "docker" "inspect" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93", kill_on_drop: false }`
[INFO] [stdout] 2f3b75cee67e50eb294cad2bc7a470885af52d3a2af599d333602f5ba11e9b93
